home *** CD-ROM | disk | FTP | other *** search
/ Desktop Publisher's Dream 1994 / Desktop Publisher's Dream 1994.iso / prog_c / grafxlib.arc / MACROS.AH < prev    next >
Text File  |  1987-08-31  |  2KB  |  120 lines

  1. ;
  2. ; grafix --- macros.ah 
  3. ;
  4. ; general purpose definitions
  5. ;
  6. ; Written 4/87 by Scott Snyder (ssnyder@romeo.caltech.edu or @citromeo.bitnet)
  7. ;
  8. ; Memory model stuff added 5/29/87 by sss
  9. ;
  10.  
  11. ;include model.inc
  12.  
  13. ;
  14. ; break down modules
  15. ;
  16. ifdef SMALL
  17.   NEARDATA equ 1
  18.   NEARCODE equ 1
  19. endif
  20.  
  21. ifdef COMPACT
  22.    FARDATA equ 1
  23.   NEARCODE equ 1
  24. endif
  25.  
  26. ifdef MEDIUM
  27.   NEARDATA equ 1
  28.    FARCODE equ 1
  29. endif
  30.  
  31. ifdef LARGE
  32.    FARDATA equ 1
  33.    FARCODE equ 1
  34. endif
  35.  
  36. ;
  37. ; define model-dependent parameters
  38. ;
  39.  
  40. ifdef NEARCODE
  41.   argbase equ 4
  42. endif
  43.  
  44. ifdef FARCODE
  45.   argbase equ 6
  46. endif
  47.  
  48. ;
  49. ; macros
  50. ;
  51.  
  52. cseg    macro moduleName
  53.     ifdef FARCODE
  54.       moduleName&_TEXT segment byte public 'CODE'
  55.       assume cs: moduleName&_TEXT
  56.     else
  57.       _TEXT segment byte public 'CODE'
  58.       assume cs: _TEXT
  59.     endif
  60.     endm
  61.  
  62. endcs    macro moduleName
  63.     ifdef FARCODE
  64.       moduleName&_TEXT ends
  65.     else
  66.       _TEXT ends
  67.     endif
  68.     endm
  69.  
  70. pBegin    macro pName
  71.     ifdef FARCODE
  72.       pName proc far
  73.     else
  74.       pName proc near
  75.     endif
  76.     endm
  77.  
  78. pEnd    macro pName
  79.     pName endp
  80.     endm
  81.  
  82. dseg    macro
  83.     assume    ds:DGROUP
  84. _DATA    segment byte public 'DATA'
  85.     endm
  86.  
  87. endds    macro
  88. _DATA    ends
  89.     endm
  90.  
  91. sseg    macro
  92. DGROUP    group    _STACK, _DATA
  93.     assume    ss:DGROUP
  94. _STACK    segment word stack 'STACK'
  95.     endm
  96.  
  97. endss    macro
  98. _STACK    ends
  99.     endm
  100.  
  101. df    macro    sym
  102. public    sym
  103. _&sym    =    sym
  104. public    _&sym
  105.     endm
  106.  
  107. ex    macro    sym, typ
  108. extrn    _&sym : typ
  109. sym    equ    _&sym
  110.     endm
  111.  
  112. exProc    macro pName
  113.     ifdef FARCODE
  114.       ex pName, far
  115.     else
  116.       ex pName, near
  117.     endif
  118.     endm
  119.  
  120.